iT邦幫忙

2022 iThome 鐵人賽

DAY 10
1

前面的文章有提到處理位置資料時得面對的多種技術挑戰。處理網路瀏覽資料時的技術挑戰更是不遑多讓。

第一個挑戰是:如何處理龐大的資料量。以一個常見的情境為例,相信大部分都是技術背景的讀者朋友們都知道,現在瀏覽器在存取一個網頁時,除了最開始連到目的地頁面的那個http請求,後面連帶著觸發幾十個http請求(有時甚至於可以到上百個),已經算是正常現象。而這些請求,都會產生DPI資料/DNS查詢記錄。大家可以想像一下,在這種情況下一個使用者每天可以產生多少資料?那如果是幾百萬、幾千萬個使用者,又會產生什麼樣量級的資料呢?那又該如何即時處理完這個量級的資料呢?那這種挑戰的解決方法是什麼?我們最常遇到的方法是減量,不過常常不是我們這邊減。而是我們的資料來源,如DPI,就會開始減。只是,資料減量也有不同的原則跟方法。最常見的手段是過濾。剛好第二個挑戰也跟過濾有關。我們就在講完第二個挑戰時再來談資料過濾的原則。另外一個常見的手段是合併資料。比如說把兩筆連到同樣網域的資料併成一筆,但是多加一個計數的欄位。這個方法雖然減少了資料量,但是同時也可能會錯失網域存取紀錄順序性所可能攜帶的資訊。所以在選用這個手段時也要多思考可能流失的資訊對自己服務的價值有多高。

第二個挑戰是:如何過濾價值不高的資料,留存價值比較高的資料做後續的分析?如第一個挑戰裡提到的情境,瀏覽器存取一個網頁時,可能會觸發幾十甚至於上百個http請求,連到不同的端點存取資料。因此DPI資料/DNS查詢記錄,會有那隻手機連線到眾多網域的資料。可是這些有連線紀錄的網域,大部分其實資訊價值不高。像是一些提供分析服務的網域(比如說Google Analytics、mixpanel等),或是CDN的網域(比如說Akamai、Cloudflare的CDN)。這一類的網域,對於了解手機使用者的行為其實價值不高,但卻又貢獻了很大比例的網路瀏覽資料。所以怎麼過濾掉這些價值不高的資料,只留下比較有價值的資料。就是另一個技術挑戰。而過濾掉價值不高的資料,就能同時也達到減量的目的。算是一箭雙鵰的好手段。只是,那該怎麼決定連到哪些網域的DPI資料/DNS查詢紀錄該留呢?不外乎白名單(正面表列:即有出現在名單裡的網域DPI資料才留)或是黑名單(負面表列:即有出現在名單裡的網域DPI資料不留,其他則都留)。這邊麻煩的是:該怎麼建立跟維護名單(不管黑或白)。不過名單議題,我們就不在這邊多談。

第三個挑戰是:如何萃取DPI資料或DNS查詢紀錄中的資訊跟價值?DPI資料/DNS查詢記錄儲存了大量的被各個使用者存取的網域資料。可是單看這些網域資料,對後續的應用場景幫助有限。所以這邊我們會需要先用某些方法定義網域的類別屬性。這邊可以利用分類網域的服務(可以搜尋website category)或是自己寫爬蟲爬資料後回來自行分類。在定義好網域類別屬性後,下一步就是分析各個使用者造訪不同網域和不同類別網域的特性。這邊可以參考RFM模型的概念來對使用者分群。再利用分群的結果,得出各個使用者對不同網域和不同類別的興趣程度。

除了以上的挑戰之外,有個貫穿這些挑戰的底層挑戰,就是"資料處理與分析效率"。但是這邊的細節就不適合透露更多,只能說可以透過計算架構與流程還有演算法的優化來加速。想了解更多的細節的朋友,歡迎加入我們,一起努力加速喔!


上一篇
Day09 - 網路瀏覽資料怎麼來的?
下一篇
Day11 - 網路瀏覽資料怎麼用?
系列文
大家都說資料是數位經濟時代的石油,那你知道這個豐厚的油礦嗎?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言